# 作者: 陈其志 
# 2025年02月19日14时44分22秒 
# 2716847110@qq.com

# 多值参数也可叫做可变参数，也就是参数个数不确定
def demo1(num, *args, **kwargs):
    """

    :param num:
    :param args:
    :param kwargs:
    :return:
    """
    print(num)  # num吃掉第一个位置
    print(args)  # args吃掉所有的未知参数
    print(kwargs)  # kwargs吃掉所有的keyword参数


def demo(num, *args, **kwargs):
    """

    :param num:
    :param args:
    :param kwargs:
    :return:
    """
    print(num)
    print(type(num))
    print(args)
    print(type(args))
    print(kwargs)
    print(type(kwargs))
    print('-'*50)
    demo1(num, args, kwargs)
    print('-'*50)
    demo1(num, *args, **kwargs) # *是拆包的意思
    print('-'*50)


if __name__ == '__main__':
    demo(1, 2, 3, 4, 5, name="小明", age=18, gender=True)
